
package com.ffcs.crmd.tsp.admin.api.facade;

import java.util.List;

import com.ctg.itrdc.platform.common.entity.PageInfo;
import com.ffcs.crmd.platform.core.ddd.api.facade.IDomBaseFacade;
import com.ffcs.crmd.tsp.admin.api.dto.JobDetailDTO;
import com.ffcs.crmd.tsp.admin.api.dto.JobDetailRetryDTO;
import com.ffcs.crmd.tsp.admin.api.dto.JobDetailRunningDTO;
import com.ffcs.crmd.tsp.admin.api.dto.JobDetailThreadInfoDTO;

public interface IJobDetailFacade extends IDomBaseFacade {

    
    /**
     * 功能说明:
     * 
     * @param jobDetailRunningDto
     * @throws Exception
     */
    void finish(JobDetailRunningDTO jobDetailRunningDto) throws Exception;
    
    /**
     * 功能说明:
     * 
     * @param jobDetailRunningDtoList
     * @throws Exception
     */
    void finish(List<JobDetailRunningDTO> jobDetailRunningDtoList) throws Exception;

    /**
     * 功能说明:
     * 
     * @param clusterName
     * @param id
     * @return 
     * @throws Exception
     */
    JobDetailDTO get(JobDetailDTO jobDetailDto) throws Exception;

    /**
     * 功能说明:
     * 
     * @param jobDetailRunningDto
     * @return
     * @throws Exception
     */
    void interrupt(JobDetailRunningDTO jobDetailRunningDto) throws Exception;

    /**
     * 功能说明:
     * 
     * @param jobDetailRunningDtoList
     * @return
     * @throws Exception
     */
    void interrupt(List<JobDetailRunningDTO> jobDetailRunningDtoList) throws Exception;



    /**
     * 
     * 功能说明:
     * 
     * @param jobDetailDto
     * @throws Exception
     */
    public void pause(JobDetailDTO jobDetailDto) throws Exception;


    /**
     * 
     * 功能说明:
     * 
     * @param jobDetailDtoList
     * @throws Exception
     */
    public void pause(List<JobDetailDTO> jobDetailDtoList) throws Exception;

    /**
     * 功能说明:
     * 
     * @param clusterName
     * @param name
     * @param jobId
     * @param pageNumber
     * @param pageSize
     * @return
     * @throws Exception
     */
    PageInfo<JobDetailDTO> queryPage(JobDetailDTO jobDetailDto) throws Exception;


    /**
     * 功能说明:
     * 
     * @param clusterName
     * @param name
     * @param pageNumber
     * @param pageSize
     * @return
     * @throws Exception
     */
    PageInfo<JobDetailRetryDTO> queryRetryPage(JobDetailRetryDTO jobDetailRetryDto) throws Exception;

    /**
     * 功能说明:
     * 
     * @param clusterName
     * @param name
     * @param addr
     * @param id
     * @param status
     * @param pageNumber
     * @param pageSize
     * @return
     * @throws Exception
     */
    PageInfo<JobDetailRunningDTO> queryRunningPage(JobDetailRunningDTO jobDetailRunningDto) throws Exception;

    /**
     * 功能说明:
     * 
     * @param clusterName
     * @param jobName
     * @param id
     * @return
     * @throws Exception
     */
    JobDetailThreadInfoDTO queryThreadInfo(JobDetailRunningDTO jobDetailRunningDto) throws Exception;

    /**
     * 
     * 功能说明:
     * 
     * @param jobDetailDto
     * @throws Exception
     */
    public void remove(JobDetailDTO jobDetailDto) throws Exception;


    /**
     * 
     * 功能说明:
     * 
     * @param jobDetailDtos
     * @throws Exception
     */
    public void remove(List<JobDetailDTO> jobDetailDtos) throws Exception;


    /**
     * 功能说明:
     * 
     * @param jobDetailRunningDto
     * @return
     * @throws Exception
     */
    void reset(JobDetailRunningDTO jobDetailRunningDto) throws Exception;

    /**
     * 功能说明:
     * 
     * @param jobDetailRunningDtoList
     * @throws Exception
     */
    void reset(List<JobDetailRunningDTO> jobDetailRunningDtoList) throws Exception;

    /**
     * 
     * 功能说明:
     * 
     * @param jobDetailDto
     * @throws Exception
     */
    public void resume(JobDetailDTO jobDetailDto) throws Exception;

    /**
     * 
     * 功能说明:
     * 
     * @param jobDetailDtoList
     * @throws Exception
     */
    public void resume(List<JobDetailDTO> jobDetailDtoList) throws Exception;

    /**
     * 
     * 功能说明:
     * 
     * @param jobDetailDto
     * @throws Exception
     */
    public void save(JobDetailDTO jobDetailDto) throws Exception;

}
